﻿//-----------------------------------------------------------------------
// <copyright file="TooManyParameters.cs" company="None">
//     Copyright (c) 2009-2011
// </copyright>
//-----------------------------------------------------------------------

namespace CleanCode.StyleCopCustomRules.UnitTests.Resources
{
    using System.Runtime.InteropServices;
    using System.Text;

    /// <summary>
    /// Dummy class to unit test the customized StyleCop rules.
    /// </summary>
    public class CodeViolatingRules
    {
        /// <summary>
        /// Methods the with too many parameters.
        /// </summary>
        /// <param name="x">The parameter x.</param>
        /// <param name="y">The parameter y.</param>
        /// <param name="z">The parameter z.</param>
        /// <param name="i">The parameter i.</param>
        public void MethodWithTooManyParameters(int x, int y, int z, int i)
        {
        }

        /// <summary>
        /// Extern method shouldn't violate the rule of too many parameters 
        /// (default limit is set to 3 params).
        /// </summary>
        /// <param name="tmpPath">The TMP path.</param>
        /// <param name="prefix">The prefix.</param>
        /// <param name="uniqueIdOrZero">The unique id or zero.</param>
        /// <param name="tmpFileName">Name of the TMP file.</param>
        /// <returns>
        /// Returns a tempfilename.
        /// </returns>
        [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true, BestFitMapping = false)]
        internal static extern uint GetTempFileName(string tmpPath, string prefix, uint uniqueIdOrZero, StringBuilder tmpFileName);
    }
}
